var table;
$(document).ready(function() {
	var url=sy.bp();
	var option ={
			"aLengthMenu":[3,5,10,20], //动态指定分页后每页显示的记录数。
			"searching":false,//禁用搜索
			"lengthChange":true, //是否启用改变每页显示多少条数据的控件
			"sort" : "position",  //是否开启列排序，对单独列的设置在每一列的bSortable选项中指定
			"deferRender":true,//延迟渲染
			"bStateSave" : false, //在第三页刷新页面，会自动到第一页
			"iDisplayLength" : 5,  //默认每页显示多少条记录
			"iDisplayStart" : 0,
			//----------------
			 "sPaginationType": "full_numbers",
			 "serverSide":true,
			 "bInfo": true,//Showing 1 to 10 of 23 entries 总记录数没也显示多少等信息---fc
			 "bAutoWidth":true,//是否自动计算表格各列宽度，默认true-----fc
			 "bSort":false,//禁用排序-----默认true---false指排序--fc
			 "bFilter":false,//是否启动过滤，搜索功能
			 
			 //"aaSorting":[[2,'desc']],//---------fc
			//---------------
			//"sAjaxSource": 'DataProvider',//这将是控制器的操作方法使用JSON返回类型从而填补你的数据表---fc
			// "sAjaxDataProp": "data",
			"ordering": true,//全局禁用排序
			"dom": '<l<\'#topPlugin\'>f>rt<ip><"clear">',
	        //"sAjaxSource":url,
	        "ajax": {
                "type": "POST",
                "url":url+'/role/list',
                "data":function(d){
                	d.searchByName=$("#searchByName").val()
                	d.searchByType=$("#searchByType").val()
                }  
                 
	        },       
			"aoColumns" : [{  //aoColumns设置列时，不可以任意指定列，必须列出所有列。
				"mData" : "id",
				"orderable": false , // 禁用排序
				"sDefaultContent" : "",
				"sWidth" : "5%"
	        },{  //aoColumns设置列时，不可以任意指定列，必须列出所有列。
				"mData" : "id",
				"orderable": false , // 禁用排序
				"sDefaultContent" : "",
				"sWidth" : "2%"
	        },{
				"mData" : "rolename",
				"orderable" : true, // 禁用排序
				"sDefaultContent" : "",
				"sWidth" : "6%",
				
			}, 
//			{
//				"mData" : "type",
//				"orderable" : true, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
//			{
//				"mData" : "proaddress",
//				"orderable" : false, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
//			{
//				"mData" : "alcohol",
//				"orderable" : false, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
//			/*{
//				"mData" : "factoryName",
//				"orderable" : false, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, */
//			{
//				"mData" : "promaterial",
//				"orderable" : false, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
//			{
//				"mData" : "procapacity",
//				"orderable" : false, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
//			{
//				"mData" : "protrait",
//				"orderable" : false, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
//			{
//				"mData" : "prostandard",
//				"orderable" : false, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
//			{
//				"mData" : "roledetail",
//				"orderable" : false, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
//			{
//				"mData" : "price",
//				"orderable" : true, // 禁用排序
//				"sDefaultContent" : "",
//				"sWidth" : "6%",
//				
//			}, 
			
			{
				"mData" : "roledetail",
				"orderable" : true, // 禁用排序
				"sDefaultContent" : "",
				"sWidth" : "10%",
//				"render":function(data, type, full, meta){  //render改变该列样式,4个参数，其中参数数量是可变的。
//					var  html=' <span style="color: red"> '+data+'</span>  ';
//			    return	html;
//			    }
			}, 
			{
				"mData" : "id",//自己定义的字段，"render":function(data, type, full, meta)，data是rid的值
				"orderable" : false, // 禁用排序
				"sDefaultContent" : '',
				"sWidth" : "10%",
			    "render":function(data, type, full, meta){  //render改变该列样式,4个参数，其中参数数量是可变的。
			    	var aniu='<button   class="btn btn-primary" onclick="deleteRole('+data+')" >删除</button>';
			    	var aa="&nbsp&nbsp&nbsp&nbsp&nbsp";
			    	var html='<button   class="btn btn-primary" onclick="role_update('+data+')" >修改</button><button   class="btn btn-primary" onclick="role_grant('+data+')" >授权</button>'+aa+aniu;
			    return html;
			    }}
			],
			"columnDefs" : 
			[{
				"orderable" : false, // 禁用排序
				"targets" : [0], // 指定的列
				"orderData": [ 0, 1 ],  //如果第一列进行排序，有相同数据则按照第二列顺序排列
				"data" : "id",
				"render" : function(data, type, full, meta) {
					
					return '<input type="checkbox" value="'+ data + '" name="id"/>';
				}
			}],
			"oLanguage" : { // 国际化配置
				"sProcessing" : "正在获取数据，请稍后...",
				"sLengthMenu" : "显示 _MENU_ 条",
				"sZeroRecords" : "没有找到数据",
				"sInfo" : "从 _START_ 到  _END_ 条记录 总记录数为 _TOTAL_ 条",
				"sInfoEmpty" : "记录数为0",
				"sInfoFiltered" : "(全部记录数 _MAX_ 条)",
				"sInfoPostFix" : "",
				"sSearch" : "搜索",
				"sUrl" : "",
				"oPaginate" : {
					"sFirst" : "第一页",
					"sPrevious" : "上一页",
					"sNext" : "下一页",
					"sLast" : "最后一页"
				}
			},
			drawCallback: function( settings ) {
		        $('input[name=allChecked]')[0].checked=false;//取消全选状态
		    } ,
			initComplete:initComplete,
			drawCallback: function( settings ) {
		        $('input[name=allChecked]')[0].checked=false;//表格初始化完成取消全选状态
		    }
//		    "ajax": {  
//	            "url": url,   
//	            "dataSrc": "aaData",   
//	            "data": function ( d ) {  
//	                var level1 = $('#rname_search').val();  
//	                //添加额外的参数传给服务器  
//	                d.rname = level1;  
//	            }  
//	        },  
		}
		
	
	 table= $("#example1").DataTable(option);
	
	  });
	/**
	 * 表格加载渲染完毕后执行的方法
	 * @param data
	 */
	function initComplete(data){
	
		//删除用户按钮的HTMLDOM
//	    var topPlugin='<button   class="btn btn-danger btn-sm" id="deleteAll">批量删除</button> <button   class="btn btn-primary btn-sm addBtn "onclick="roleadd()" >新 增</button>' ;
//	  			       
//		$("#topPlugin").append(topPlugin);//在表格上方topPlugin DIV中追加HTML
//	
	}
	$(function(){
		//两个检索失去焦点时重绘表格
		$(".search_diy").blur(function(){
			    table.draw();
		 })
		//全选与取消全选
	 $('input[name=allChecked]').click(function(){ 
			$("input[name='id']").each(function(){
				  if ($('input[name=allChecked]')[0].checked) {
					  this.checked = true;
				  }
				  else {
					  this.checked = false;
				  }
				});
		})
	})

//添加

	
function roleadd(){
//	alert(11);
	$("#myModal-add-infoq").modal('show');
}
function roleaddtj(){
	var rolename = $("#rolenameid").val();
	var roledetail = $("#roledetailid").val();
	var url=sy.bp()+"/role/add.action";
	
	$.ajax({
		url: url,
		type: "post",
		data:{
			'rolename':rolename,
			"roledetail":roledetail
		},
		datatype:"json",
		success:function(data){
			console.info("dsjf"+data);
			console.info(data)
			if(data==1){
				alert("添加成功")
				table.ajax.reload();
			}
			else{
				alert("添加失败")        
			}	
			$("#myModal-add-infoq").modal('hide')
		}
		
	});
}
//------------------------修改-------------------------
////点击修改按钮，ajax请求controller获得数据，传入bootstrap页面后，再弹出该bootstrap页面
//根据id查，所得的的数据反映在bootstrap
function role_update(id){
	var url1=sy.bp()+"/role/findbyid.action";
	$.ajax({
		url:url1,
		type:"post",			
		data:{
			"id":id
		},
		dataType:"json",
		success:function(data){
			console.info(data.rolename)
			$("#uuupdate").val(data.id);
			$("#rolenameid1").val(data.rolename);//将查到的值设进去
			$("#roledetailid1").val(data.roledetail);
			$("#myModal-update-info").modal('show');
			
		}/*,
		error:function(){
			
		}*/
	});
}
//修改
function updateRole(){

	var url1=sy.bp()+"/role/updaterole.action";
	var a=$("#category_update").serializeJson();//将id为category_update，的表单的数据，已name=name值，value=value值形式转为json数据
	console.info(a);	
	$.ajax({
		url:url1,
		type:"post",			
		data:a,
		dataType:"json",
		success:function(data){
			if(data==1){
			console.info(data);
			alert("修改成功！");
			table.ajax.reload();
			$("#myModal-update-info").modal('hide');
			}else if(data==0){
				alert("修改失败")
				$("#myModal-update-info").modal('hide');
			}
		},
		error:function(){
			console.log("ajax-update--失败")
		}
	})
}
//删除
//function role_delete(id){
//	console.log("id")
//	$.ajax({
//		url:url,
//		type:"post",			
//		data:{
//			"id":id
//			
//		},
//		dataType:"json",
//	})
//}
function deleteRole(id){
	console.log("id");
	var url1=sy.bp()+"/role/deletebyid.action";	
	$.ajax({
		url:url1,
		type:"post",			
		data:{
			"id":id
		},
		dataType:"json",
		success:function(data){
			if(data==1){
				alert("删除成功")
				table.ajax.reload();
			}else if(data=0){
				alert("删除失败")
			}
		}
	})
}
//	/**
//	 * 请求后台拿到该角色有，没有的权限，生成tree填充到授权boostrap弹框中
//	 * @param id
//	 * @returns
//	 */
//	function role_grant(id){
//		$("#grantSyroleId").val(id);
//		var url_grant=sy.bp()+"/syrole/grant";
//		$.ajax({
//			url:url_grant,
//			type:"post",			
//			data:{
//				"id":id
//			},
//			dataType:"json",
//			success:function(data){
//				
//				$("#myModal-grantRole-info").modal('show');
//				t = $.fn.zTree.init($("#syrole_permission_tree"), set, data);
//			
//			},
//			error:function(){
//				console.info('ajax请求失败')
//			}
//		})
//	}
//---------------------------------ztree--------------------------------
	$(function() {
		/* var height=document.documentElement.clientHeight-50;
		document.getElementById('iframe-page-content').style.height=height+'px'; */
	});
	var set;
	var zTree;
	var zNodes;
	$(document).ready(function(){
		

		 set = {
			    view: {  
			        dblClickExpand: true,//双击节点时，是否自动展开父节点的标识  
			        showLine: false,//是否显示节点之间的连线  
			        fontCss:{'color':'blue','font-weight':'bold'},//字体样式函数  
			        selectedMulti: true //设置是否允许同时选中多个节点  
			    },  
				check:{  
			        chkStyle: "checkbox",
			        enable: true  
			    },  
				   data: {  
				        simpleData: {//简单数据模式  
				            enable:true,  
				            idKey: "id",  
				            pIdKey: "pid",  
				            rootPId: ""  
				        }  
				    },
				    callback: {  
				        onClick: function(e,treeId, treeNode) {
				        	console.info("treeid:"+treeId)
				        	console.info("treenode:"+treeNode)
				    /*     var url=sy.bp()+treeNode.src;
				        $("#iframe-page-content").attr('src',url); */
				        },
				        onDblClick:function (){
				        
				        }
				    } 
		};

		
		
	});
	/**
	 * 从后台获得角色tree放到授角色的boostrap框中
	 */
	function role_grant(id){
		console.info(id)
		//给隐藏框一个id以便于授权时取
		$("#grantSyroleId").val(id);
		var url_grant=sy.bp()+"/role/grant";
		$.ajax({
			url:url_grant,
			type:"post",			
			data:{
				"id":id
			},
			dataType:"json",
			success:function(data){
				
				$("#myModal-grantPermission-info").modal('show');
				treeObj = $.fn.zTree.init($("#role_permission_tree"), set, data);
				treeObj.expandAll(true);//打开所有节点
			
			},
			error:function(){
				console.info('ajax请求失败')
			}
		})
			
	}	

		/**
		 * 后台给用户添加删除权限
		 */
		function grant_permission_button(){
			var grantSyroleId=$("#grantSyroleId").val();
			 console.info("grantSyroleId:"+grantSyroleId)
			var array=[];
			var treeObj = $.fn.zTree.getZTreeObj("role_permission_tree");
		     
	        //var nodes = treeObj.getNodes();//获取全部节点数据 
	        var nodes=treeObj.getCheckedNodes(true)//获取被选中的节点
	        console.info("nodes:"+nodes)
		    for(var i=0;i<nodes.length;i++){		    	
		    		
		    	array.push(nodes[i].id);		    
		    }
		   
		    console.info("array:"+array)
			var url_grant=sy.bp()+"/role/grantPermission";
			$.ajax({
				url:url_grant,
				type:"post",			
				traditional:true,//可以传数组
				data:{
					"id":grantSyroleId,
					"authids":array
				},
				dataType:"json",
				success:function(data){
					alert('操作成功')
					/* $("#myModal-grantRole-info").modal('show');
					t = $.fn.zTree.init($("#user_role_tree"), set, data); */
				
				},
				error:function(){
					console.info('ajax请求失败')
				}
			})
		}
